Processor-based systems, whether computers, communications devices, instrumentation equipment or the like, have historically selected memories of different technological and architectural types to satisfy divergent data storage requirements. Regularly the attributes and application of the data to be stored inform the selection of the memory type that is used to store the data. That is to say, system designers generally attempt to match the performance characteristics of various memory types to the nature of the data to be stored or to the use to which the data is to be put.
However, the selective allocation of data to disparate memory devices, depending on either the nature or the intended application of the data, tends to preclude a coherent or uniform approach to the manner m which data is managed in a system. To wit: techniques that are appropriate to the management of transitory data stored in semiconductor SRAM (static random access memory) are likely to be inapposite to the management of persistent data stored in CMOS (complementary metal oxide semiconductor) ROM (read only memory). Furthermore, although a number of emerging memory technologies have appeared that promise performance capabilities that may enable the storage of both persistent data and dynamic data, there does not yet exist a comprehensive approach to the management of disparate data types in a unified memory system. (In this regard, a “unified” memory system may be considered to be one that exhibits a combination of properties, such as nonvolatility, nondestructability, cell density and access speeds, that had not heretofore been available in a single memory type.)
A unified memory subsystem, whether predicated on the OUM or on another emerging or existing memory technology, requires a memory management subsystem that takes full advantage of the potential of the unified memory subsystem. The specific memory management techniques applied to SRAM, DRAM, flash memory, etc. are not satisfactorily cobbled in to an effective and efficient approach to the management of unified memory. Thus there exists a need for a coherent technique for the management of dissimilar types of data in a unified memory device.
Skilled artisans appreciate that elements in Drawings are illustrated for simplicity and clarity and have not (unless so stated in the Description) necessarily been drawn to scale. For example, the dimensions of some elements in the Drawings may be exaggerated relative to other elements to promote and improve understanding of embodiments of the invention.